#ifndef GW_SIMPLE_APP_SINGLETON_HPP
#define GW_SIMPLE_APP_SINGLETON_HPP

#include "crow.h"
#include <memory>

class CSimpleAppSingleton {
public:
    // 获取SimpleApp实例的引用
    static crow::SimpleApp& getInstance() {
        // 使用局部静态对象实现线程安全的单例模式
        static crow::SimpleApp instance;
        return instance;
    }

    // 禁止拷贝构造函数和赋值运算符
    CSimpleAppSingleton(const CSimpleAppSingleton&) = delete;
    CSimpleAppSingleton& operator=(const CSimpleAppSingleton&) = delete;

private:
    // 私有构造函数确保外部不能创建实例
    CSimpleAppSingleton() {}
};

#endif // GW_SIMPLE_APP_SINGLETON_HPP
